// Debug.h
#include <stdio.h>

// Uzitocne funkcie pre debugging

#ifndef DEBUG_H
#define DEBUG_H

extern FILE* unitTestsLogFile;

// Ak je definovany debugging
#ifdef DEBUG

void DBG_INIT();					//
void DBG_DONE();					//
void DBG_SET_ID(const char* id);	//

void DBG(const char* format, ...);	//
void DBGN(const char* format, ...);	//

void DBGN_TEST_START(char* fileName);	//
void DBGN_TEST(char* message);	//
void DBGN_TEST_END();	//

#else
// Visual C++ 6.0 nepodporuje makra s premenlivym poctom premennych.
// Nasledujuce funkcie nic nerobia
inline void DBG_INIT()				{}			
inline void DBG_DONE()				{}
inline void DBG_SET_ID(const char*) {}
inline void DBG(const char*, ...)	{}
inline void DBGN(const char*, ...)	{}

inline void DBGN_TEST_START(char* fileName) {}	//
inline void DBGN_TEST(char* message) {}	//
inline void DBGN_TEST_END() {}	//

#endif

void ERR(const char*, ...);		//
void ERRN(const char*, ...);	//

void WARN(const char*, ...);	//
void WARNN(const char*, ...);	//

void TXT(const char*, ...);		//
void TXTN(const char*, ...);	//

// Toto sa pouzije pre ciastocne neaktivovanie debuggingu
inline void DO_NOTHING(const char*, ...) {}

#endif // DEBUG_H
